home *** CD-ROM | disk | FTP | other *** search
-
-
-
- SSSSLLLLAAAALLLLSSSSAAAA((((3333SSSS)))) SSSSLLLLAAAALLLLSSSSAAAA((((3333SSSS))))
-
-
-
- NNNNAAAAMMMMEEEE
- SLALSA - i an itermediate step in solving the least squares problem by
- computing the SVD of the coefficient matrix in compact form (The singular
- vectors are computed as products of simple orthorgonal matrices.)
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- SUBROUTINE SLALSA( ICOMPQ, SMLSIZ, N, NRHS, B, LDB, BX, LDBX, U, LDU, VT,
- K, DIFL, DIFR, Z, POLES, GIVPTR, GIVCOL, LDGCOL, PERM,
- GIVNUM, C, S, WORK, IWORK, INFO )
-
- INTEGER ICOMPQ, INFO, LDB, LDBX, LDGCOL, LDU, N, NRHS, SMLSIZ
-
- INTEGER GIVCOL( LDGCOL, * ), GIVPTR( * ), IWORK( * ), K( * ),
- PERM( LDGCOL, * )
-
- REAL B( LDB, * ), BX( LDBX, * ), C( * ), DIFL( LDU, * ),
- DIFR( LDU, * ), GIVNUM( LDU, * ), POLES( LDU, * ), S(
- * ), U( LDU, * ), VT( LDU, * ), WORK( * ), Z( LDU, * )
-
- IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
- These routines are part of the SCSL Scientific Library and can be loaded
- using either the -lscs or the -lscs_mp option. The -lscs_mp option
- directs the linker to use the multi-processor version of the library.
-
- When linking to SCSL with -lscs or -lscs_mp, the default integer size is
- 4 bytes (32 bits). Another version of SCSL is available in which integers
- are 8 bytes (64 bits). This version allows the user access to larger
- memory sizes and helps when porting legacy Cray codes. It can be loaded
- by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
- only one of the two versions; 4-byte integer and 8-byte integer library
- calls cannot be mixed.
-
- PPPPUUUURRRRPPPPOOOOSSSSEEEE
- SLALSA is an itermediate step in solving the least squares problem by
- computing the SVD of the coefficient matrix in compact form (The singular
- vectors are computed as products of simple orthorgonal matrices.). If
- ICOMPQ = 0, SLALSA applies the inverse of the left singular vector matrix
- of an upper bidiagonal matrix to the right hand side; and if ICOMPQ = 1,
- SLALSA applies the right singular vector matrix to the right hand side.
- The singular vector matrices were generated in compact form by SLALSA.
-
-
- AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
- ICOMPQ (input) INTEGER Specifies whether the left or the right singular
- vector matrix is involved. = 0: Left singular vector matrix
- = 1: Right singular vector matrix
-
- SMLSIZ (input) INTEGER The maximum size of the subproblems at the bottom
- of the computation tree.
-
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- SSSSLLLLAAAALLLLSSSSAAAA((((3333SSSS)))) SSSSLLLLAAAALLLLSSSSAAAA((((3333SSSS))))
-
-
-
- N (input) INTEGER
- The row and column dimensions of the upper bidiagonal matrix.
-
- NRHS (input) INTEGER
- The number of columns of B and BX. NRHS must be at least 1.
-
- B (input) REAL array, dimension ( LDB, NRHS )
- On input, B contains the right hand sides of the least squares
- problem in rows 1 through M. On output, B contains the solution X
- in rows 1 through N.
-
- LDB (input) INTEGER
- The leading dimension of B in the calling subprogram. LDB must be
- at least max(1,MAX( M, N ) ).
-
- BX (output) REAL array, dimension ( LDBX, NRHS )
- On exit, the result of applying the left or right singular vector
- matrix to B.
-
- LDBX (input) INTEGER
- The leading dimension of BX.
-
- U (input) REAL array, dimension ( LDU, SMLSIZ ).
- On entry, U contains the left singular vector matrices of all
- subproblems at the bottom level.
-
- LDU (input) INTEGER, LDU = > N.
- The leading dimension of arrays U, VT, DIFL, DIFR, POLES, GIVNUM,
- and Z.
-
- VT (input) REAL array, dimension ( LDU, SMLSIZ+1 ).
- On entry, VT' contains the right singular vector matrices of all
- subproblems at the bottom level.
-
- K (input) INTEGER array, dimension ( N ).
-
- DIFL (input) REAL array, dimension ( LDU, NLVL ).
- where NLVL = INT(log_2 (N/(SMLSIZ+1))) + 1.
-
- DIFR (input) REAL array, dimension ( LDU, 2 * NLVL ).
- On entry, DIFL(*, I) and DIFR(*, 2 * I -1) record distances
- between singular values on the I-th level and singular values on
- the (I -1)-th level, and DIFR(*, 2 * I) record the normalizing
- factors of the right singular vectors matrices of subproblems on
- I-th level.
-
- Z (input) REAL array, dimension ( LDU, NLVL ).
- On entry, Z(1, I) contains the components of the deflation-
- adjusted updating row vector for subproblems on the I-th level.
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- SSSSLLLLAAAALLLLSSSSAAAA((((3333SSSS)))) SSSSLLLLAAAALLLLSSSSAAAA((((3333SSSS))))
-
-
-
- POLES (input) REAL array, dimension ( LDU, 2 * NLVL ).
- On entry, POLES(*, 2 * I -1: 2 * I) contains the new and old
- singular values involved in the secular equations on the I-th
- level.
-
- GIVPTR (input) INTEGER array, dimension ( N ). On entry, GIVPTR(
- I ) records the number of Givens rotations performed on the I-th
- problem on the computation tree.
-
- GIVCOL (input) INTEGER array, dimension ( LDGCOL, 2 * NLVL ). On
- entry, for each I, GIVCOL(*, 2 * I - 1: 2 * I) records the
- locations of Givens rotations performed on the I-th level on the
- computation tree.
-
- LDGCOL (input) INTEGER, LDGCOL = > N. The leading dimension of
- arrays GIVCOL and PERM.
-
- PERM (input) INTEGER array, dimension ( LDGCOL, NLVL ).
- On entry, PERM(*, I) records permutations done on the I-th level
- of the computation tree.
-
- GIVNUM (input) REAL array, dimension ( LDU, 2 * NLVL ). On entry,
- GIVNUM(*, 2 *I -1 : 2 * I) records the C- and S- values of Givens
- rotations performed on the I-th level on the computation tree.
-
- C (input) REAL array, dimension ( N ).
- On entry, if the I-th subproblem is not square, C( I ) contains
- the C-value of a Givens rotation related to the right null space
- of the I-th subproblem.
-
- S (input) REAL array, dimension ( N ).
- On entry, if the I-th subproblem is not square, S( I ) contains
- the S-value of a Givens rotation related to the right null space
- of the I-th subproblem.
-
- WORK (workspace) REAL array.
- The dimension must be at least N.
-
- IWORK (workspace) INTEGER array.
- The dimension must be at least 3 * N
-
- INFO (output) INTEGER
- = 0: successful exit.
- < 0: if INFO = -i, the i-th argument had an illegal value.
-
- FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
- Based on contributions by
- Ming Gu and Ren-Cang Li, Computer Science Division, University of
- California at Berkeley, USA
- Osni Marques, LBNL/NERSC, USA
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- SSSSLLLLAAAALLLLSSSSAAAA((((3333SSSS)))) SSSSLLLLAAAALLLLSSSSAAAA((((3333SSSS))))
-
-
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- INTRO_LAPACK(3S), INTRO_SCSL(3S)
-
- This man page is available only online.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-